Securing Real-Time Microcontroller Systems through Customized Memory View Switching
نویسندگان
چکیده
Real-time microcontrollers have been widely adopted in cyber-physical systems that require both real-time and security guarantees. Unfortunately, security is sometimes traded for real-time performance in such systems. Notably, memory isolation, which is one of the most established security features in modern computer systems, is typically not available in many real-time microcontroller systems due to its negative impacts on performance and violation of real-time constraints. As such, the memory space of these systems has created an open, monolithic attack surface that attackers can target to subvert the entire systems. In this paper, we present MINION, a security architecture that intends to virtually partition the memory space and enforce memory access control of a real-time microcontroller. MINION can automatically identify the reachable memory regions of realtime processes through off-line static analysis on the system’s firmware and conduct run-time memory access control through hardware-based enforcement. Our evaluation results demonstrate that, by significantly reducing the memory space that each process can access, MINION can effectively protect a microcontroller from various attacks that were previously viable. In addition, unlike conventional memory isolation mechanisms that might incur substantial performance overhead, the lightweight design of MINION is able to maintain the real-time properties of the microcontroller.
منابع مشابه
Use of Helper Threads for OS Support in the Multithreaded Embedded TriCore 2 Processor
Infineon equipped their TriCore 2 microcontroller with multithreading capabilities. As memory protection techniques are getting more important, it also implements a rangebased memory protection system. Based on the multithreading capability a helper thread can run in a thread slot in separation from the real-time application thread to support embedded operating systems like OSEK or AUTOSAR OS u...
متن کاملMinimizing Bank Selection Instructions for Partitioned Memory Architectures
Bank switching is a technique that increases the code and data memory in microcontrollers without extending the address buses. Given a program in which variables have been assigned to data banks, we present a novel optimization technique that minimizes the overhead of bank switching through cost-effective placement of bank selection instructions. The optimal placement is controlled by a variety...
متن کاملA Customized Metal Oxide Semiconductor-Based Gas Sensor Array for Onion Quality Evaluation: System Development and Characterization
A gas sensor array, consisting of seven Metal Oxide Semiconductor (MOS) sensors that are sensitive to a wide range of organic volatile compounds was developed to detect rotten onions during storage. These MOS sensors were enclosed in a specially designed Teflon chamber equipped with a gas delivery system to pump volatiles from the onion samples into the chamber. The electronic circuit mainly co...
متن کاملPerformance Evaluations of a Multithreaded Java Microcontroller
We propose handling of external real time events through multithreading and describe the microarchitecture of our multithreaded Java microcon troller called Komodo microcontroller Real time Java threads are used as interrupt service threads ISTs instead of interrupt service routines ISRs Our proposed Komodo microcontroller supports multiple ISTs with zero cycle context switching overhead We eva...
متن کاملPerformance Evaluations of a Multithreaded
We propose handling of external real-time events through multithreading and describe the microarchitecture of our multithreaded Java microcontroller, called Komodo microcontroller. Real-time Java threads are used as interrupt service threads (ISTs) instead of interrupt service routines (ISRs). Our proposed Komodo microcon-troller supports multiple ISTs with zero-cycle context switching overhead...
متن کامل